"use strict";
// TypeScript的函数
// 定义函数
// function searchXJ(age:number):string{
//     return '找到了'+age+'岁小姐姐'
// }
// var age:number=18
// var result:string=searchXJ(age)
// console.log(result)//找到了18岁小姐姐
// console.log(searchXJ(age)) //找到了18岁小姐姐
// 注意：
/**
 * 声明（定义）函数必须加 function 关键字；
 * 函数名与变量名一样，命名规则按照标识符规则；
 * 函数参数可有可无，多个参数之间用逗号隔开；
 * 每个参数参数由名字与类型组成，之间用分号隔开；
 * 函数的返回值可有可无，没有时，返回类型为 void；
 * 大括号中是函数体
 **/
//  TypeScript语言中的函数参数
//  函数的形参分为：可选形参、默认形参、剩余参数形参等。
// 1.有可选参数的函数
// 可选参数，就是我们定义形参的时候，可以定义一个可传可不传的参数。这种参数，在定义函数的时候通过?标注。
// function searchXJ(age:number,sc?:string):string{
//     let yy:string=''
//     yy='找到了'+age+'岁'
//     if(sc!=undefined){
//         yy=yy+sc
//     }
//     return yy+'的小姐姐'
// }
// let age:number=18
// let sc:string='大长腿' //可选参数，可以不传，不传里面也不会报错
// let result:string=searchXJ(age,sc)
// console.log(result) //找到了18岁大长腿的小姐姐
// 2.有默认参数的函数
// 有默认参数就更好理解了，就是我们不传递的时候，他会给我们一个默认值，而不是undefined了
// function searchXJ(age:number=19,sc:string='大胸'):string{
//     let yy:string=''
//     yy='找到了'+age+'岁'
//     if(sc!=undefined){
//         yy=yy+sc
//     }
//     return yy+'的小姐姐'
// }
// let result:string=searchXJ()
// console.log(result)//找到了19岁大胸的小姐姐
// 3.有剩余参数的函数
// 有时候我们有这样的需求，我传递给函数的参数个数不确定。
function searchXJ() {
    var xuqiu = [];
    for (var _i = 0; _i < arguments.length; _i++) {
        xuqiu[_i] = arguments[_i];
    }
    var yy = '找到了';
    for (var i = 0; i < xuqiu.length; i++) {
        yy = yy + xuqiu[i];
        if (i < xuqiu.length) {
            yy += '、';
        }
    }
    yy += '的小姐姐';
    return yy;
}
var result = searchXJ('22岁', '大胸', '小蛮腰', '紧');
console.log(result);
